iT邦幫忙

2021 iThome 鐵人賽

DAY 1
0
自我挑戰組

Android kotlin &MVVM系列 第 1

Android學習筆記01

  • 分享至 

  • xImage
  •  

MVVM
最近剛開始接觸kotlin,而我想要用kotlin去建構一個MVVM的架構,首先要先了解甚麼是MVVM,它與MVP有甚麼不同。
MVVM(Model-View-ViewModel)
Model:負責管理資料來源。例如Web API、SharedPreference等資料來源。
View:Activity、Fragment、layout.xml、Adapter、自定義View。View只處理顯示UI及與使用者互動。
ViewModel:將Model提供的資料根據View的需要進行處理,通過DataBinding綁定到相應的UI上
介紹MVVM的同時,會同時連DataBinding一同介紹,View和ViewModel的互動都是由DataBinding負責
MVVM架構可以讓程式碼看起來更乾淨且維護起來更容易,MVP的View和Model的同步處理大多都是手動,而MVVM則是交由binder處理,View和Model同時變更,所以只要Model正確,View就一定會正確。
下面先示範簡易的單向綁定
viewmodle:


class MainViewModle  : ViewModel() {

    val currentRandomFruitName:LiveData<String>
        get() = Fakerepository.currentRandomFruitName

    fun onChangeRandomFruitClick() = Fakerepository.changeCurrentRandomFruitName()

xml:


<Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Change fruit"
            android:onClick="@{() -> viewmodle.onChangeRandomFruitClick()}"/>

下一篇
Android學習筆記02
系列文
Android kotlin &MVVM30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言